#include <stdint.h>

#define GPR_REG_NUM        (32)
#define CSR_REG_MAX_ADDR   (0x300)

static uint32_t gpr_reg[GPR_REG_NUM];
static uint32_t csr_reg[CSR_REG_MAX_ADDR];

void reg_gpr_set(uint32_t reg, uint32_t val)
{
    if (reg > 0 && reg < GPR_REG_NUM)
        gpr_reg[reg] = val;
}

uint32_t reg_gpr_get(uint32_t reg)
{
    if (reg > 0 && reg < GPR_REG_NUM)
        return gpr_reg[reg];
    else
        return 0;
}

void reg_csr_set(uint32_t reg, uint32_t val)
{
    if (reg < CSR_REG_MAX_ADDR)
        csr_reg[reg] = val;
}

uint32_t reg_csr_get(uint32_t reg)
{
    if (reg < CSR_REG_MAX_ADDR)
        return csr_reg[reg];
    else
        return 0;
}
